package com.zjsru.oneDay;

/**
 * 比赛中的配对次数
 * <p>
 * 输入：n = 7
 * 输出：6
 * 解释：比赛详情：
 * - 第 1 轮：队伍数 = 7 ，配对次数 = 3 ，4 支队伍晋级。
 * - 第 2 轮：队伍数 = 4 ，配对次数 = 2 ，2 支队伍晋级。
 * - 第 3 轮：队伍数 = 2 ，配对次数 = 1 ，决出 1 支获胜队伍。
 * 总配对次数 = 3 + 2 + 1 = 6
 * <p>
 * <p>
 * 比赛多少次 总次数是 n - 1次, 直接 return n - 1; 即可
 */
public class numberOfMatches {
    public int numberOfMatches(int n) {
        int ans = 0;
        while (n > 1) {
            if (n % 2 == 0) {
                ans += n / 2;
                n = n / 2;
            } else {
                ans += n / 2;
                n = n / 2 + 1;
            }
        }
        return ans;
    }

    public static void main(String[] args) {
        numberOfMatches numberOfMatches = new numberOfMatches();
        int n = 7;
        System.out.println(numberOfMatches.numberOfMatches(n));
    }
}
